{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import xarray as xr\n",
    "from multiprocessing import Pool\n",
    "from glob import glob\n",
    "from os.path import join\n",
    "from pyproj import Proj\n",
    "from sklearn.mixture import GaussianMixture\n",
    "from sklearn.neighbors import KernelDensity\n",
    "from hagelslag.evaluation.ContingencyTable import ContingencyTable\n",
    "def load_storm_data_file(data_file, variable_names):\n",
    "    try:\n",
    "        run_filename = data_file.split(\"/\")[-1][:-3].split(\"_\")\n",
    "        member = int(run_filename[6])\n",
    "        run_date = run_filename[4]\n",
    "        ds = xr.open_dataset(data_file)\n",
    "        patch_arr = []\n",
    "        all_vars = list(ds.variables.keys())\n",
    "        meta_cols = [\"center_lon\", \"center_lat\", \"valid_dates\", \"run_dates\", \"members\"]\n",
    "        return_dict = {\"data_file\": data_file, \"meta\": None, \"data_patches\": None}\n",
    "        if np.all(np.in1d(variable_names, all_vars)):\n",
    "            meta_dict = {}\n",
    "            meta_dict[\"center_lon\"] = ds[\"longitude\"][:, 32, 32].values\n",
    "            meta_dict[\"center_lat\"] = ds[\"latitude\"][:, 32, 32].values\n",
    "            meta_dict[\"valid_dates\"] = pd.DatetimeIndex(ds[\"valid_date\"].values)\n",
    "            meta_dict[\"run_dates\"] = np.tile(run_date, meta_dict[\"valid_dates\"].size)\n",
    "            meta_dict[\"members\"] = np.tile(member, meta_dict[\"valid_dates\"].size)\n",
    "            return_dict[\"meta\"] = pd.DataFrame(meta_dict, columns=meta_cols)\n",
    "            for variable in variable_names:\n",
    "                patch_arr.append(ds[variable][:, 16:-16, 16:-16].values.astype(np.float32))\n",
    "            return_dict[\"data_patches\"] = np.stack(patch_arr, axis=-1)\n",
    "            print(data_file, return_dict[\"meta\"].size)\n",
    "        ds.close()\n",
    "        del patch_arr[:]\n",
    "        del patch_arr\n",
    "        del ds\n",
    "        return return_dict\n",
    "    except Exception as e:\n",
    "        print(traceback.format_exc())\n",
    "        raise e\n",
    "        \n",
    "def load_storm_patch_data(data_path, variable_names, n_procs):\n",
    "    \"\"\"\n",
    "\n",
    "\n",
    "    Args:\n",
    "        data_path:\n",
    "        variable_names:\n",
    "        n_procs:\n",
    "\n",
    "    Returns:\n",
    "\n",
    "    \"\"\"\n",
    "    data_patches = []\n",
    "    data_meta = []\n",
    "\n",
    "    data_files = sorted(glob(join(data_path, \"*.nc\")))\n",
    "    pool = Pool(n_procs, maxtasksperchild=1)\n",
    "    file_check = data_files[:]\n",
    "\n",
    "    def combine_storm_data_files(return_obj):\n",
    "        f_index = file_check.index(return_obj[\"data_file\"])\n",
    "        if return_obj[\"meta\"] is not None:\n",
    "            data_patches[f_index] = return_obj[\"data_patches\"]\n",
    "            data_meta[f_index] = return_obj[\"meta\"]\n",
    "        else:\n",
    "            file_check.pop(f_index)\n",
    "            data_patches.pop(f_index)\n",
    "            data_meta.pop(f_index)\n",
    "\n",
    "    for data_file in data_files:\n",
    "        data_patches.append(None)\n",
    "        data_meta.append(None)\n",
    "        pool.apply_async(load_storm_data_file, (data_file, variable_names), callback=combine_storm_data_files)\n",
    "    pool.close()\n",
    "    pool.join()\n",
    "    del pool\n",
    "    all_data = np.vstack(data_patches)\n",
    "    all_meta = pd.concat(data_meta, ignore_index=True)\n",
    "    return all_data, all_meta\n",
    "\n",
    "distances = np.arange(20000, 220000, 20000)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050300_mem_01.nc 640\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050300_mem_04.nc 650\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050300_mem_03.nc 760\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050300_mem_02.nc 950\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050300_mem_06.nc 835\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050300_mem_05.nc 605\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050300_mem_07.nc 760\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050300_mem_08.nc 805\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050300_mem_10.nc 700\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050400_mem_02.nc 325\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050300_mem_09.nc 900\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050400_mem_01.nc 460\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050400_mem_03.nc 335\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050400_mem_04.nc 395\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050400_mem_05.nc 435\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050400_mem_06.nc 410\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050400_mem_07.nc 510\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050400_mem_08.nc 330\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050400_mem_10.nc 335\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050500_mem_01.nc 255\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050400_mem_09.nc 375\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050500_mem_02.nc 345\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050500_mem_05.nc 340\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050500_mem_03.nc 455\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050500_mem_04.nc 425\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050500_mem_07.nc 315\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050500_mem_06.nc 420\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050500_mem_08.nc 320\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050500_mem_09.nc 360\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050500_mem_10.nc 360\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050600_mem_01.nc 935\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050600_mem_02.nc 925\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050600_mem_03.nc 1045\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050600_mem_04.nc 865\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050600_mem_05.nc 615\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050600_mem_09.nc 775\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050600_mem_07.nc 755\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050600_mem_06.nc 900\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050700_mem_01.nc 850\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050700_mem_02.nc 720\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050600_mem_08.nc 1225\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050600_mem_10.nc 990\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050700_mem_04.nc 700\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050700_mem_05.nc 705\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050700_mem_06.nc 845\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050700_mem_03.nc 1110\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050700_mem_07.nc 565\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050700_mem_08.nc 770\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050700_mem_10.nc 655\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050700_mem_09.nc 865\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050800_mem_04.nc 1065\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050800_mem_01.nc 1300\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050800_mem_03.nc 1330\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050800_mem_02.nc 1135\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050800_mem_05.nc 1345\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050800_mem_07.nc 985\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050800_mem_06.nc 1220\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050800_mem_08.nc 1205\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050800_mem_10.nc 1005\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050800_mem_09.nc 1155\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050900_mem_02.nc 2145\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050900_mem_01.nc 1935\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050900_mem_04.nc 1980\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050900_mem_03.nc 2130\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050900_mem_05.nc 1865\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050900_mem_06.nc 2055\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050900_mem_08.nc 2140\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050900_mem_07.nc 2135\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050900_mem_09.nc 2130\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016050900_mem_10.nc 2360\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051000_mem_01.nc 2010\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051000_mem_02.nc 2210\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051000_mem_03.nc 2085\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051000_mem_04.nc 1675\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051000_mem_06.nc 2075\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051000_mem_05.nc 1735\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051000_mem_07.nc 1810\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051000_mem_08.nc 1865\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051000_mem_10.nc 1795\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051000_mem_09.nc 1675\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051100_mem_01.nc 3010\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051100_mem_02.nc 3020\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051100_mem_04.nc 2865\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051100_mem_03.nc 3065\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051100_mem_05.nc 3100\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051100_mem_08.nc 3290\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051100_mem_06.nc 3225\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051100_mem_07.nc 3105\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051200_mem_01.nc 1015\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051100_mem_09.nc 3275\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051200_mem_02.nc 1270\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051100_mem_10.nc 3470\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051200_mem_03.nc 1025\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051200_mem_05.nc 1305\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051200_mem_04.nc 1355\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051200_mem_06.nc 1260\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051200_mem_07.nc 1265\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051200_mem_09.nc 1185\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051200_mem_08.nc 1270\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051300_mem_01.nc 1020\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051200_mem_10.nc 1470\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051300_mem_03.nc 995\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051300_mem_02.nc 1140\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051300_mem_04.nc 825\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051300_mem_05.nc 1025\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051300_mem_07.nc 1000\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051300_mem_06.nc 1110\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051300_mem_08.nc 1335\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051300_mem_09.nc 1290\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051400_mem_02.nc 450\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051400_mem_01.nc 765\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051300_mem_10.nc 1065\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051400_mem_03.nc 570\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051400_mem_06.nc 650\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051400_mem_05.nc 390\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051400_mem_07.nc 435\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051400_mem_09.nc 505\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051400_mem_08.nc 785\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051400_mem_04.nc 700\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051400_mem_10.nc 545\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051500_mem_01.nc 690\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051500_mem_03.nc 495\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051500_mem_04.nc 675\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051500_mem_02.nc 605\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051500_mem_05.nc 755\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051500_mem_06.nc 785\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051500_mem_09.nc 610\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051500_mem_08.nc 710\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051500_mem_07.nc 960\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051500_mem_10.nc 875\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051600_mem_01.nc 1000\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051600_mem_02.nc 1305\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051600_mem_04.nc 1200\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051600_mem_05.nc 1035\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051600_mem_03.nc 1365\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051600_mem_06.nc 1285\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051600_mem_09.nc 825\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051600_mem_07.nc 870\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051600_mem_08.nc 1320\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051600_mem_10.nc 1615\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051700_mem_01.nc 1915\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051700_mem_02.nc 1625\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051700_mem_03.nc 1675\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051700_mem_04.nc 1775\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051700_mem_06.nc 1475\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051700_mem_05.nc 1935\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051700_mem_07.nc 1805\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051700_mem_08.nc 1575\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051700_mem_09.nc 1390\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051700_mem_10.nc 1720\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051800_mem_02.nc 735\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051800_mem_01.nc 900\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051800_mem_04.nc 615\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051800_mem_03.nc 1370\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051800_mem_06.nc 620\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051800_mem_05.nc 905\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051800_mem_08.nc 780\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051800_mem_09.nc 720\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051800_mem_10.nc 685\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051800_mem_07.nc 835\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051900_mem_02.nc 1600\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051900_mem_04.nc 1675\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051900_mem_01.nc 1705\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051900_mem_03.nc 2405\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051900_mem_05.nc 2555\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051900_mem_08.nc 1520\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051900_mem_07.nc 1255\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051900_mem_06.nc 1850\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052000_mem_01.nc 860\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051900_mem_09.nc 2185\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052000_mem_02.nc 1820\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016051900_mem_10.nc 2220\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052000_mem_03.nc 1205\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052000_mem_04.nc 1000\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052000_mem_05.nc 1140\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052000_mem_09.nc 1195\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052000_mem_08.nc 1150\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052000_mem_06.nc 1225\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052000_mem_07.nc 1215\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052000_mem_10.nc 1165\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052100_mem_01.nc 985\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052100_mem_04.nc 945\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052100_mem_03.nc 1400\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052100_mem_02.nc 1830\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052100_mem_05.nc 1500\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052100_mem_06.nc 1035\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052100_mem_07.nc 1540\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052100_mem_08.nc 1365\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052100_mem_10.nc 1770\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052100_mem_09.nc 1685\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052200_mem_02.nc 2170\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052200_mem_01.nc 1985\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052200_mem_03.nc 2220\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052200_mem_04.nc 2065\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052200_mem_05.nc 2160\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052200_mem_06.nc 2530\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052200_mem_09.nc 1870\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052200_mem_07.nc 2415\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052200_mem_08.nc 2270\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052200_mem_10.nc 2415\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052300_mem_01.nc 2445\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052300_mem_03.nc 2375\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052300_mem_02.nc 3000\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052300_mem_04.nc 2735\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052300_mem_05.nc 3075\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052300_mem_07.nc 2140\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052300_mem_06.nc 2985\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052300_mem_08.nc 2870\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052300_mem_10.nc 2765\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052300_mem_09.nc 2950\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052400_mem_01.nc 2245\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052400_mem_02.nc 2810\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052400_mem_03.nc 3115\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052400_mem_04.nc 2885\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052400_mem_05.nc 2785\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052400_mem_06.nc 3030\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052400_mem_08.nc 3505\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052400_mem_07.nc 3710\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052400_mem_09.nc 2565\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052500_mem_01.nc 2360\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052400_mem_10.nc 2785\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052500_mem_02.nc 1885\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052500_mem_03.nc 2100\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052500_mem_04.nc 2590\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052500_mem_06.nc 2510\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052500_mem_05.nc 2710\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052500_mem_07.nc 2650\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052500_mem_08.nc 2620\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052500_mem_09.nc 2855\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052500_mem_10.nc 2565\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052600_mem_01.nc 4600\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052600_mem_02.nc 4965\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052600_mem_04.nc 5010\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052600_mem_03.nc 4900\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052600_mem_05.nc 4965\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052600_mem_06.nc 4280\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052600_mem_08.nc 5585\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052600_mem_07.nc 5115\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052600_mem_09.nc 4695\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052700_mem_01.nc 2870\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052600_mem_10.nc 5240\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052700_mem_02.nc 3020\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052700_mem_03.nc 2655\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052700_mem_05.nc 2690\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052700_mem_04.nc 2800\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052700_mem_06.nc 3230\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052700_mem_07.nc 3125\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052700_mem_08.nc 2940\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052700_mem_10.nc 2590\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052700_mem_09.nc 2925\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052800_mem_01.nc 2125\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052800_mem_02.nc 1735\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052800_mem_04.nc 1700\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052800_mem_03.nc 1880\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052800_mem_05.nc 1825\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052800_mem_07.nc 1355\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052800_mem_06.nc 2105\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052800_mem_08.nc 1720\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052800_mem_09.nc 1385\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052800_mem_10.nc 1810\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052900_mem_01.nc 2630\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052900_mem_02.nc 2715\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052900_mem_03.nc 2410\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052900_mem_04.nc 2505\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052900_mem_05.nc 2495\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052900_mem_06.nc 3055\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052900_mem_07.nc 2655\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052900_mem_08.nc 3060\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052900_mem_09.nc 2625\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016053000_mem_02.nc 3165\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016052900_mem_10.nc 3305\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016053000_mem_01.nc 3460\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016053000_mem_05.nc 3305\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016053000_mem_03.nc 3430\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016053000_mem_04.nc 2895\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016053000_mem_06.nc 3160\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016053000_mem_07.nc 3255\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016053000_mem_09.nc 3440\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016053000_mem_08.nc 3055\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016053000_mem_10.nc 3105\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016053100_mem_01.nc 2390\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016053100_mem_02.nc 2225\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016053100_mem_03.nc 2265\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016053100_mem_04.nc 2430\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016053100_mem_06.nc 2200\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016053100_mem_05.nc 2695\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016053100_mem_07.nc 2050\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016053100_mem_08.nc 2400\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016053100_mem_10.nc 2805\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016053100_mem_09.nc 2395\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016060100_mem_01.nc 2000\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016060100_mem_02.nc 1850\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016060100_mem_03.nc 1955\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016060100_mem_04.nc 1840\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016060100_mem_05.nc 1780\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016060100_mem_06.nc 1520\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016060100_mem_07.nc 1990\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016060100_mem_08.nc 2110\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016060100_mem_10.nc 1745\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016060100_mem_09.nc 1850\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016060200_mem_01.nc 1980\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016060200_mem_02.nc 1910\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016060200_mem_04.nc 2410\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016060200_mem_05.nc 2190\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016060200_mem_03.nc 2250\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016060200_mem_07.nc 2250\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016060200_mem_06.nc 1785\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016060200_mem_08.nc 1775\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016060200_mem_09.nc 1915\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016060200_mem_10.nc 1615\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016060300_mem_01.nc 1875\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016060300_mem_02.nc 1655\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016060300_mem_03.nc 1965\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016060300_mem_04.nc 1625\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016060300_mem_05.nc 1010\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016060300_mem_06.nc 1535\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016060300_mem_08.nc 1590\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016060300_mem_07.nc 1710\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016060300_mem_09.nc 1620\n",
      "/glade/work/dgagne/ncar_ens_storm_patches/ncar_ens_storm_patches_2016060300_mem_10.nc 1740\n"
     ]
    }
   ],
   "source": [
    "hail_data = load_storm_patch_data(\"/glade/work/dgagne/ncar_ens_storm_patches/\", \n",
    "                      [\"thompson_max_hail_k1_surface_current\"], 4)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "59559"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "hail_data[0][:, :, :, 0].max(axis=-1).max(axis=-1).argmax()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.colorbar.Colorbar at 0x2b1347a47320>"
      ]
     },
     "execution_count": 50,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.pcolormesh((hail_data[0][59559, :, :, 0] * 1000))\n",
    "plt.colorbar()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "hail_sizes = hail_data[0].ravel() * 1000\n",
    "hail_sizes = hail_sizes[hail_sizes > 0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "max_hail = hail_data[0].max(axis=-1).max(axis=-1).max(axis=-1) * 1000"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.hist(max_hail, bins=np.arange(0, 100, 5), color='purple', density=False)\n",
    "plt.gca().set_yscale(\"log\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x2b5501902400>]"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(np.unique(max_hail), 'ko-')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [],
   "source": [
    "hail_bins = np.unique(max_hail)[1:]\n",
    "hail_bin_diffs = hail_bins[1:] - hail_bins[:-1]\n",
    "hail_counts, _ = np.histogram(max_hail, hail_bins)\n",
    "all_hail_samples = []\n",
    "for h, hail_count in enumerate(hail_counts):\n",
    "    all_hail_samples.append(np.random.uniform(hail_bins[h], hail_bins[h+1], size=hail_count))\n",
    "hail_samples_max = np.concatenate(all_hail_samples)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [],
   "source": [
    "hail_bins = np.unique(hail_sizes)[1:]\n",
    "hail_bin_diffs = hail_bins[1:] - hail_bins[:-1]\n",
    "hail_counts, _ = np.histogram(hail_sizes, hail_bins)\n",
    "all_hail_samples = []\n",
    "for h, hail_count in enumerate(hail_counts):\n",
    "    all_hail_samples.append(np.random.uniform(hail_bins[h], hail_bins[h+1], size=hail_count))\n",
    "hail_samples_all = np.concatenate(all_hail_samples)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([10802.,  9770.,  7459.,  6389.,  5100.,  3991.,  3638.,  3544.,\n",
       "         3660.,  3389.,  2937.,  1879.,   626.,   237.,    55.]),\n",
       " array([ 6, 12, 18, 24, 30, 36, 42, 48, 54, 60, 66, 72, 78, 84, 90, 96]),\n",
       " <a list of 15 Patch objects>)"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.hist(hail_samples, bins=np.arange(6, 102, 6))\n",
    "#plt.gca().set_yscale('log')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([0.00832816, 0.30509493, 0.55532365, 0.70495479, 0.7845311 ,\n",
       "        0.84807742, 0.87291112, 0.91436873, 0.93365833, 0.95258642,\n",
       "        0.97046445, 0.98599488, 0.99573925, 0.99573925, 0.99936527,\n",
       "        0.99995543, 0.99995543, 1.        , 1.        ]),\n",
       " array([ 0,  5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80,\n",
       "        85, 90, 95]),\n",
       " <a list of 19 Patch objects>)"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.hist(hail_sizes, bins=np.arange(0, 100, 5), density=True, cumulative=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [],
   "source": [
    "hail_reports = pd.read_csv(\"../2016_hail.csv\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0.25, 0.5 , 0.7 , 0.75, 0.88, 1.  , 1.1 , 1.12, 1.25, 1.4 , 1.5 ,\n",
       "       1.65, 1.75, 2.  , 2.1 , 2.17, 2.2 , 2.25, 2.3 , 2.5 , 2.75, 3.  ,\n",
       "       3.11, 3.2 , 3.25, 3.43, 3.5 , 4.  , 4.25, 4.5 , 5.  , 5.25])"
      ]
     },
     "execution_count": 58,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.unique(hail_reports[\"mag\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [],
   "source": [
    "hail_bins_r = np.unique(hail_reports[\"mag\"])\n",
    "hail_counts_r, _ = np.histogram(hail_reports[\"mag\"], hail_bins_r)\n",
    "all_hail_samples_r = []\n",
    "for h, hail_count in enumerate(hail_counts_r):\n",
    "    all_hail_samples_r.append(np.random.uniform(hail_bins_r[h], hail_bins_r[h+1], size=hail_count))\n",
    "hail_samples_r = np.concatenate(all_hail_samples_r)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([4.000e+00, 5.000e+00, 2.950e+02, 1.670e+03, 3.990e+03, 5.810e+02,\n",
       "        4.520e+02, 4.380e+02, 1.006e+03, 4.990e+02, 2.100e+01, 4.400e+01,\n",
       "        1.510e+02, 1.150e+02, 9.000e+01, 3.000e+00, 4.000e+00, 3.000e+00]),\n",
       " array([ 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85,\n",
       "        90, 95]),\n",
       " <a list of 18 Patch objects>)"
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.hist(hail_samples_r * 25.4, bins=np.arange(5, 100, 5))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['om', 'yr', 'mo', 'dy', 'date', 'time', 'tz', 'st', 'stf', 'stn', 'mag',\n",
       "       'inj', 'fat', 'loss', 'closs', 'slat', 'slon', 'elat', 'elon', 'len',\n",
       "       'wid', 'ns', 'sn', 'sg', 'f1', 'f2', 'f3', 'f4'],\n",
       "      dtype='object')"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "hail_reports.columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "proj_params = dict(\n",
    "            proj=\"lcc\",\n",
    "            a=6370000,\n",
    "            b=6370000,\n",
    "            lat_0=38.33643,\n",
    "            lon_0=-101.,\n",
    "            lat_1=32.0,\n",
    "            lat_2=46.0,\n",
    "            units=\"m\")\n",
    "us_proj = Proj(projparams=proj_params)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "hail_report_x, hail_report_y = us_proj(hail_reports[\"slon\"].values, hail_reports[\"slat\"].values)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "max_hail_x, max_hail_y = us_proj(hail_data[1][\"center_lon\"].values, hail_data[1][\"center_lat\"].values)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "20000 0 [0 0 0 0]\n",
      "20000 10000 [ 238 2849  368 6429]\n",
      "20000 20000 [  715  5402   827 12758]\n",
      "20000 30000 [  931  8272  1006 19381]\n",
      "20000 40000 [ 1114 10746  1067 26625]\n",
      "20000 50000 [ 1365 13708  1236 33200]\n",
      "20000 60000 [ 1530 16428  1382 40093]\n",
      "20000 70000 [ 1740 19481  1543 46584]\n",
      "20000 80000 [ 1878 21991  1722 53669]\n",
      "20000 90000 [ 2040 24609  1868 60656]\n",
      "20000 100000 [ 2145 28126  1970 66839]\n",
      "20000 110000 [ 2165 30159  2002 74739]\n",
      "40000 0 [ 2168 30626  2009 78480]\n",
      "40000 10000 [ 2722 33134  2952 84234]\n",
      "40000 20000 [ 3777 35084  4031 89835]\n",
      "40000 30000 [ 4229 37657  4495 96071]\n",
      "40000 40000 [  4661  39874   4709 103130]\n",
      "40000 50000 [  5265  42467   5196 109377]\n",
      "40000 60000 [  5717  44850   5639 115886]\n",
      "40000 70000 [  6264  47497   6118 121926]\n",
      "40000 80000 [  6650  49720   6606 128627]\n",
      "40000 90000 [  7090  52024   7006 135243]\n",
      "40000 100000 [  7417  55232   7342 141058]\n",
      "40000 110000 [  7482  57208   7484 148825]\n",
      "60000 0 [  7498  57655   7517 152522]\n",
      "60000 10000 [  8375  59826   9021 157612]\n",
      "60000 20000 [  9842  61354  10716 162532]\n",
      "60000 30000 [ 10532  63647  11560 168309]\n",
      "60000 40000 [ 11175  65638  11955 175156]\n",
      "60000 50000 [ 12107  67889  12765 181055]\n",
      "60000 60000 [ 12866  69942  13525 187107]\n",
      "60000 70000 [ 13822  72150  14378 192676]\n",
      "60000 80000 [ 14478  74079  15271 198924]\n",
      "60000 90000 [ 15218  76053  15983 205074]\n",
      "60000 100000 [ 15798  78919  16647 210399]\n",
      "60000 110000 [ 15961  80785  16959 217966]\n",
      "80000 0 [ 15996  81199  17050 221576]\n",
      "80000 10000 [ 17131  83097  19055 226067]\n",
      "80000 20000 [ 18936  84306  21372 230333]\n",
      "80000 30000 [ 19912  86300  22598 235691]\n",
      "80000 40000 [ 20742  88098  23184 242324]\n",
      "80000 50000 [ 21950  90073  24320 247878]\n",
      "80000 60000 [ 22983  91824  25432 253437]\n",
      "80000 70000 [ 24285  93677  26686 258471]\n",
      "80000 80000 [ 25222  95350  27952 264287]\n",
      "80000 90000 [ 26272  97011  28975 270048]\n",
      "80000 100000 [ 27161  99497  30003 274859]\n",
      "80000 110000 [ 27432 101245  30526 282175]\n",
      "100000 0 [ 27489 101635  30663 285706]\n",
      "100000 10000 [ 28819 103339  33133 289716]\n",
      "100000 20000 [ 30853 104317  36056 293355]\n",
      "100000 30000 [ 32055 106067  37633 298318]\n",
      "100000 40000 [ 33067 107661  38405 304740]\n",
      "100000 50000 [ 34549 109358  39842 309976]\n",
      "100000 60000 [ 35863 110791  41220 315126]\n",
      "100000 70000 [ 37507 112317  42925 319634]\n",
      "100000 80000 [ 38659 113769  44535 325035]\n",
      "100000 90000 [ 39969 115160  45876 330400]\n",
      "100000 100000 [ 41184 117283  47228 334799]\n",
      "100000 110000 [ 41562 118910  48009 341820]\n",
      "120000 0 [ 41647 119256  48208 345260]\n",
      "120000 10000 [ 43091 120836  51055 348862]\n",
      "120000 20000 [ 45344 121616  54542 351957]\n",
      "120000 30000 [ 46755 123155  56485 356529]\n",
      "120000 40000 [ 47890 124612  57442 362724]\n",
      "120000 50000 [ 49611 126080  59176 367652]\n",
      "120000 60000 [ 51159 127250  60895 372337]\n",
      "120000 70000 [ 53061 128520  62998 376379]\n",
      "120000 80000 [ 54402 129774  64918 381427]\n",
      "120000 90000 [ 55957 130931  66575 386448]\n",
      "120000 100000 [ 57529 132692  68330 390390]\n",
      "120000 110000 [ 58002 134216  69402 397095]\n",
      "140000 0 [ 58114 134520  69659 400426]\n",
      "140000 10000 [ 59656 135994  72889 403655]\n",
      "140000 20000 [ 62076 136618  76880 406306]\n",
      "140000 30000 [ 63687 137975  79190 410505]\n",
      "140000 40000 [ 64947 139286  80335 416482]\n",
      "140000 50000 [ 66838 140587  82322 421148]\n",
      "140000 60000 [ 68575 141571  84343 425451]\n",
      "140000 70000 [ 70665 142669  86827 429044]\n",
      "140000 80000 [ 72163 143756  89006 433792]\n",
      "140000 90000 [ 73903 144734  90920 438491]\n",
      "140000 100000 [ 75818 146177  93079 442028]\n",
      "140000 110000 [ 76401 147588  94426 448417]\n",
      "160000 0 [ 76553 147844  94763 451644]\n",
      "160000 10000 [ 78192 149213  98301 454575]\n",
      "160000 20000 [ 80735 149714 102717 456833]\n",
      "160000 30000 [ 82504 150938 105377 460660]\n",
      "160000 40000 [ 83855 152161 106700 466435]\n",
      "160000 50000 [ 85882 153325 108862 470916]\n",
      "160000 60000 [ 87777 154145 111181 474861]\n",
      "160000 70000 [ 90021 155100 114020 478072]\n",
      "160000 80000 [ 91651 156053 116474 482536]\n",
      "160000 90000 [ 93512 156918 118634 486963]\n",
      "160000 100000 [ 95681 158134 121177 490125]\n",
      "160000 110000 [ 96400 159395 122793 496235]\n",
      "180000 0 [ 96595 159599 123211 499351]\n",
      "180000 10000 [ 98329 160876 127022 502003]\n",
      "180000 20000 [100972 161279 131806 503911]\n",
      "180000 30000 [102850 162412 134825 507379]\n",
      "180000 40000 [104264 163562 136336 512953]\n",
      "180000 50000 [106406 164617 138646 517270]\n",
      "180000 60000 [108443 165288 141237 520840]\n",
      "180000 70000 [110799 166122 144367 523743]\n",
      "180000 80000 [112551 166948 147076 527917]\n",
      "180000 90000 [114505 167725 149436 532115]\n",
      "180000 100000 [116919 168730 152333 534940]\n",
      "180000 110000 [117738 169866 154243 540757]\n",
      "200000 0 [117991 170034 154738 543779]\n",
      "200000 10000 [119810 171221 158763 546217]\n",
      "200000 20000 [122538 171541 163878 547818]\n",
      "200000 30000 [124527 172584 167170 550986]\n",
      "200000 40000 [125998 173673 168848 556354]\n",
      "200000 50000 [128207 174657 171297 560520]\n",
      "200000 60000 [130384 175198 174168 563806]\n",
      "200000 70000 [132840 175932 177582 566413]\n",
      "200000 80000 [134701 176644 180528 570317]\n",
      "200000 90000 [136729 177367 183086 574295]\n",
      "200000 100000 [139355 178210 186301 576815]\n",
      "200000 110000 [140286 179230 188470 582359]\n"
     ]
    }
   ],
   "source": [
    "model_valid_dates = pd.DatetimeIndex(hail_data[1][\"valid_dates\"])\n",
    "report_valid_dates = pd.DatetimeIndex(hail_reports[\"date\"] + \"T\" + hail_reports[\"time\"]) + pd.Timedelta(hours=6)\n",
    "distances = np.arange(20000, 220000, 20000)\n",
    "hail_ct = np.zeros((distances.size, 4), dtype=int)\n",
    "for d, dist in enumerate(distances):\n",
    "    for i in range(max_hail.size):\n",
    "        if i % 10000 == 0:\n",
    "            print(dist, i, hail_ct.sum(axis=0))\n",
    "        time_diff = (np.abs(model_valid_dates[i] - report_valid_dates) < pd.Timedelta(hours=6))\n",
    "        if np.count_nonzero(time_diff) == 0:\n",
    "            if max_hail[i] >= 25:\n",
    "                hail_ct[d, 1] += 1\n",
    "            else:\n",
    "                hail_ct[d, 3] += 1\n",
    "            continue\n",
    "        distance_diff = np.sqrt((max_hail_x[i] - hail_report_x[time_diff]) ** 2 + \n",
    "                                (max_hail_y[i] - hail_report_y[time_diff]) ** 2) < dist\n",
    "        if np.count_nonzero(distance_diff) == 0:\n",
    "            if max_hail[i] >= 25:\n",
    "                hail_ct[d, 1] += 1\n",
    "            else:\n",
    "                hail_ct[d, 3] += 1\n",
    "            continue\n",
    "        max_hail_report_size = hail_reports.loc[time_diff, \"mag\"].loc[distance_diff].max() * 25.4\n",
    "        if max_hail_report_size >= 25:\n",
    "            if max_hail[i] > 25:\n",
    "                hail_ct[d, 0] += 1\n",
    "            else:\n",
    "                hail_ct[d, 2] += 1\n",
    "        "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "hail_ct_df = pd.DataFrame(hail_ct, index=(distances / 1000).astype(int), columns=[\"TP\", \"FP\", \"FN\", \"TN\"])\n",
    "hail_ct_df.to_csv(\"thompson_hail_ct_distance.csv\", index_label=\"Distance\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>TP</th>\n",
       "      <th>FP</th>\n",
       "      <th>FN</th>\n",
       "      <th>TN</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Distance</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>2168</td>\n",
       "      <td>30626</td>\n",
       "      <td>2009</td>\n",
       "      <td>78480</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>40</th>\n",
       "      <td>5330</td>\n",
       "      <td>27029</td>\n",
       "      <td>5508</td>\n",
       "      <td>74042</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>60</th>\n",
       "      <td>8498</td>\n",
       "      <td>23544</td>\n",
       "      <td>9533</td>\n",
       "      <td>69054</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>80</th>\n",
       "      <td>11493</td>\n",
       "      <td>20436</td>\n",
       "      <td>13613</td>\n",
       "      <td>64130</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>100</th>\n",
       "      <td>14158</td>\n",
       "      <td>17621</td>\n",
       "      <td>17545</td>\n",
       "      <td>59554</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>120</th>\n",
       "      <td>16467</td>\n",
       "      <td>15264</td>\n",
       "      <td>21451</td>\n",
       "      <td>55166</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>140</th>\n",
       "      <td>18439</td>\n",
       "      <td>13324</td>\n",
       "      <td>25104</td>\n",
       "      <td>51218</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>160</th>\n",
       "      <td>20042</td>\n",
       "      <td>11755</td>\n",
       "      <td>28448</td>\n",
       "      <td>47707</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>180</th>\n",
       "      <td>21396</td>\n",
       "      <td>10435</td>\n",
       "      <td>31527</td>\n",
       "      <td>44428</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>200</th>\n",
       "      <td>22585</td>\n",
       "      <td>9349</td>\n",
       "      <td>34289</td>\n",
       "      <td>41516</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             TP     FP     FN     TN\n",
       "Distance                            \n",
       "20         2168  30626   2009  78480\n",
       "40         5330  27029   5508  74042\n",
       "60         8498  23544   9533  69054\n",
       "80        11493  20436  13613  64130\n",
       "100       14158  17621  17545  59554\n",
       "120       16467  15264  21451  55166\n",
       "140       18439  13324  25104  51218\n",
       "160       20042  11755  28448  47707\n",
       "180       21396  10435  31527  44428\n",
       "200       22585   9349  34289  41516"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "hail_ct_df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "distances = np.arange(20000, 220000, 20000)\n",
    "\n",
    "hail_ct_df = pd.read_csv(\"thompson_hail_ct_distance.csv\", index_col=\"Distance\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "ct_dists = np.array([ContingencyTable(*hail_ct_df.iloc[i]) for i in range(hail_ct_df.shape[0])])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "KernelDensity(algorithm='auto', atol=0, bandwidth=3, breadth_first=True,\n",
       "       kernel='gaussian', leaf_size=1000, metric='euclidean',\n",
       "       metric_params=None, rtol=0)"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "kde_max = KernelDensity(bandwidth=3, leaf_size=1000)\n",
    "kde_all = KernelDensity(bandwidth=3, leaf_size=1000)\n",
    "kde_max.fit(hail_samples_max.reshape(-1, 1))\n",
    "kde_all.fit(hail_samples_all.reshape(-1, 1))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [],
   "source": [
    "h_bins = np.arange(0, 76, 0.1)\n",
    "max_pdf = np.exp(kde_max.score_samples(h_bins.reshape(-1, 1)))\n",
    "all_pdf = np.exp(kde_all.score_samples(h_bins.reshape(-1, 1)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x720 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(8, 10))\n",
    "plt.subplot(2, 1, 1)\n",
    "plt.plot(h_bins, max_pdf, color=\"red\", label=\"Surface Storm Maxima\")\n",
    "plt.plot(h_bins, all_pdf, color=\"purple\", label=\"Surface All Grid Cells\")\n",
    "plt.legend(fontsize=12)\n",
    "#plt.hist(hail_samples_max, bins=np.arange(0, 76, 4), color='purple', density=True, histtype=\"step\")\n",
    "#plt.hist(hail_samples_all, bins=np.arange(0, 76, 4), color='red', density=True, histtype=\"step\")\n",
    "#plt.hist(hail_samples_r * 25.4, bins=np.arange(0, 76, 1), color='lightblue', density=True)\n",
    "plt.gca().set_yscale(\"log\")\n",
    "plt.hist(hail_reports.loc[hail_reports[\"mo\"] == 5, \"mag\"] * 25.4, bins=np.arange(0, 76, 1), color='lightblue', density=True)\n",
    "\n",
    "plt.xticks(np.arange(0, 77, 12.5))\n",
    "plt.xlabel(\"Thompson Storm Max Surface Hail Diameter (mm)\", fontsize=14)\n",
    "plt.ylabel(\"Relative Frequency\", fontsize=14)\n",
    "plt.subplot(2, 1, 2)\n",
    "plt.plot(distances / 1000, [ct_dists[i].hss() for i in range(ct_dists.size)], marker='o', color='purple', label=\"Heidke Skill Score\")\n",
    "plt.plot(distances / 1000, [ct_dists[i].pod() for i in range(ct_dists.size)], marker='^', color='r', label=\"Probability of Detection\")\n",
    "plt.plot(distances / 1000, [1-ct_dists[i].far() for i in range(ct_dists.size)], marker='v', color='blue', label=\"Success Ratio\")\n",
    "plt.legend(fontsize=12)\n",
    "plt.xticks(np.arange(20, 220, 20))\n",
    "plt.xlabel(\"Maximum Hail Report Distance Threshold (km)\", fontsize=14)\n",
    "plt.ylabel(\"Severe Hail Scores\", fontsize=14)\n",
    "plt.savefig(\"thompson_verif.pdf\", bbox_inches=\"tight\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [],
   "source": [
    "ct = ContingencyTable(*hail_ct.sum(axis=0))"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
